import { Button, Input, List, Modal, Space } from "antd";
import { useState } from "react";
import { min_app_shell } from "@linksaas-minapp/api";

const cmdList = [
    {
        "n": "7z",
        "p": "/7z",
        "d": "拥有极高压缩比的开源压缩软件。"
    },
    {
        "n": "ab",
        "p": "/ab",
        "d": "Apache服务器的性能测试工具"
    },
    {
        "n": "accept",
        "p": "/accept",
        "d": "指示打印系统接受发往指定目标打印机的打印任务"
    },
    {
        "n": "ack",
        "p": "/ack",
        "d": "比grep好用的文本搜索工具"
    },
    {
        "n": "ag",
        "p": "/ag",
        "d": "ack 的升级版，C语言编写，更快更人性化"
    },
    {
        "n": "alias",
        "p": "/alias",
        "d": "定义或显示别名。"
    },
    {
        "n": "apachectl",
        "p": "/apachectl",
        "d": "Apache服务器前端控制工具"
    },
    {
        "n": "apk",
        "p": "/apk",
        "d": "Alpine Linux 下的包管理工具"
    },
    {
        "n": "apropos",
        "p": "/apropos",
        "d": "在 whatis 数据库中查找字符串"
    },
    {
        "n": "apt-get",
        "p": "/apt-get",
        "d": "Debian Linux发行版中的APT软件包管理工具"
    },
    {
        "n": "apt-key",
        "p": "/apt-key",
        "d": "管理Debian Linux系统中的软件包密钥"
    },
    {
        "n": "apt-sortpkgs",
        "p": "/apt-sortpkgs",
        "d": "Debian Linux下对软件包索引文件进行排序的工具"
    },
    {
        "n": "aptitude",
        "p": "/aptitude",
        "d": "Debian Linux系统中软件包管理工具"
    },
    {
        "n": "ar",
        "p": "/ar",
        "d": "建立或修改备存文件，或是从备存文件中抽取文件"
    },
    {
        "n": "arch",
        "p": "/arch",
        "d": "显示当前主机的硬件架构类型"
    },
    {
        "n": "arj",
        "p": "/arj",
        "d": "用于创建和管理.arj压缩包"
    },
    {
        "n": "arp",
        "p": "/arp",
        "d": "arp 命令用于显示和修改 IP 到 MAC 转换表"
    },
    {
        "n": "arpd",
        "p": "/arpd",
        "d": "收集免费ARP信息"
    },
    {
        "n": "arping",
        "p": "/arping",
        "d": "通过发送ARP协议报文测试网络"
    },
    {
        "n": "arptables",
        "p": "/arptables",
        "d": "管理ARP包过滤规则表"
    },
    {
        "n": "arpwatch",
        "p": "/arpwatch",
        "d": "监听网络上ARP的记录"
    },
    {
        "n": "as",
        "p": "/as",
        "d": "汇编语言编译器"
    },
    {
        "n": "at",
        "p": "/at",
        "d": "在指定时间执行一个任务"
    },
    {
        "n": "atop",
        "p": "/atop",
        "d": "监控Linux系统资源与进程的工具"
    },
    {
        "n": "atq",
        "p": "/atq",
        "d": "列出当前用户的at任务列表"
    },
    {
        "n": "atrm",
        "p": "/atrm",
        "d": "删除待执行任务队列中的指定任务"
    },
    {
        "n": "awk",
        "p": "/awk",
        "d": "文本和数据进行处理的编程语言"
    },
    {
        "n": "axel",
        "p": "/axel",
        "d": "多线程下载工具"
    },
    {
        "n": "badblocks",
        "p": "/badblocks",
        "d": "查找磁盘中损坏的区块"
    },
    {
        "n": "base64",
        "p": "/base64",
        "d": "base64 编码/解码文件或标准输入输出"
    },
    {
        "n": "basename",
        "p": "/basename",
        "d": "打印目录或者文件的基本名称"
    },
    {
        "n": "batch",
        "p": "/batch",
        "d": "在系统不繁忙的时候执行定时任务"
    },
    {
        "n": "bc",
        "p": "/bc",
        "d": "算术操作精密运算工具"
    },
    {
        "n": "bg",
        "p": "/bg",
        "d": "将前台终端作业移动到后台运行"
    },
    {
        "n": "bind",
        "p": "/bind",
        "d": "显示或设置键盘按键与其相关的功能"
    },
    {
        "n": "blkid",
        "p": "/blkid",
        "d": "查看块设备的文件系统类型、LABEL、UUID等信息"
    },
    {
        "n": "blockdev",
        "p": "/blockdev",
        "d": "从命令行调用区块设备控制程序"
    },
    {
        "n": "bmodinfo",
        "p": "/bmodinfo",
        "d": "显示给定模块的详细信息"
    },
    {
        "n": "break",
        "p": "/break",
        "d": "结束for，while或until循环。"
    },
    {
        "n": "builtin",
        "p": "/builtin",
        "d": "执行bash内建命令。"
    },
    {
        "n": "bunzip2",
        "p": "/bunzip2",
        "d": "可解压缩.bz2格式的压缩文件。 "
    },
    {
        "n": "bye",
        "p": "/bye",
        "d": "命令用于中断FTP连线并结束程序"
    },
    {
        "n": "bzcat",
        "p": "/bzcat",
        "d": "不解压，直接查看指定的.bz2文件"
    },
    {
        "n": "bzcmp",
        "p": "/bzcmp",
        "d": "比较两个压缩包中的文件"
    },
    {
        "n": "bzdiff",
        "p": "/bzdiff",
        "d": "直接比较两个.bz2压缩包中文件的不同"
    },
    {
        "n": "bzgrep",
        "p": "/bzgrep",
        "d": "使用正则表达式搜索.bz2压缩包中文件"
    },
    {
        "n": "bzip2",
        "p": "/bzip2",
        "d": "将文件压缩成bz2格式"
    },
    {
        "n": "bzip2recover",
        "p": "/bzip2recover",
        "d": "恢复被破坏的.bz2压缩包中的文件"
    },
    {
        "n": "bzless",
        "p": "/bzless",
        "d": "增强.bz2压缩包查看器"
    },
    {
        "n": "bzmore",
        "p": "/bzmore",
        "d": "查看bzip2压缩过的文本文件的内容"
    },
    {
        "n": "cal",
        "p": "/cal",
        "d": "显示当前日历或指定日期的日历"
    },
    {
        "n": "cancel",
        "p": "/cancel",
        "d": "取消已存在的打印任务"
    },
    {
        "n": "cat",
        "p": "/cat",
        "d": "连接多个文件并打印到标准输出。"
    },
    {
        "n": "cd",
        "p": "/cd",
        "d": "切换用户当前工作目录。"
    },
    {
        "n": "cdrecord",
        "p": "/cdrecord",
        "d": "Linux系统下光盘刻录功能命令"
    },
    {
        "n": "chage",
        "p": "/chage",
        "d": "修改帐号和密码的有效期限"
    },
    {
        "n": "chattr",
        "p": "/chattr",
        "d": "用来改变文件属性"
    },
    {
        "n": "chcon",
        "p": "/chcon",
        "d": "修改对象（文件）的安全上下文"
    },
    {
        "n": "chfn",
        "p": "/chfn",
        "d": "用来改变finger命令显示的信息"
    },
    {
        "n": "chgrp",
        "p": "/chgrp",
        "d": "用来变更文件或目录的所属群组"
    },
    {
        "n": "chkconfig",
        "p": "/chkconfig",
        "d": "检查或设置系统的各种服务"
    },
    {
        "n": "chmod",
        "p": "/chmod",
        "d": "用来变更文件或目录的权限"
    },
    {
        "n": "chown",
        "p": "/chown",
        "d": "用来变更文件或目录的拥有者或所属群组"
    },
    {
        "n": "chpasswd",
        "p": "/chpasswd",
        "d": "批量更新用户口令的工具"
    },
    {
        "n": "chroot",
        "p": "/chroot",
        "d": "把根目录换成指定的目的目录"
    },
    {
        "n": "chsh",
        "p": "/chsh",
        "d": "用来更换登录系统时使用的shell"
    },
    {
        "n": "cksum",
        "p": "/cksum",
        "d": "检查文件的CRC是否正确"
    },
    {
        "n": "clear",
        "p": "/clear",
        "d": "清除当前屏幕终端上的任何信息"
    },
    {
        "n": "clock",
        "p": "/clock",
        "d": "用于调整 RTC 时间"
    },
    {
        "n": "clockdiff",
        "p": "/clockdiff",
        "d": "检测两台linux主机的时间差"
    },
    {
        "n": "cmp",
        "p": "/cmp",
        "d": "比较两个文件是否有差异"
    },
    {
        "n": "col",
        "p": "/col",
        "d": "过滤控制字符"
    },
    {
        "n": "colrm",
        "p": "/colrm",
        "d": "删除文件中的指定列"
    },
    {
        "n": "comm",
        "p": "/comm",
        "d": "按行比较两个已排序的文件。"
    },
    {
        "n": "command",
        "p": "/command",
        "d": "调用并执行指定的命令"
    },
    {
        "n": "compress",
        "p": "/compress",
        "d": "使用Lempress-Ziv编码压缩数据文件"
    },
    {
        "n": "consoletype",
        "p": "/consoletype",
        "d": "输出已连接的终端类型"
    },
    {
        "n": "continue",
        "p": "/continue",
        "d": "结束本次循环，继续执行下一个for，while或until循环。"
    },
    {
        "n": "convertquota",
        "p": "/convertquota",
        "d": "把老的配额文件转换为新的格式"
    },
    {
        "n": "cp",
        "p": "/cp",
        "d": "将源文件或目录复制到目标文件或目录中"
    },
    {
        "n": "cpio",
        "p": "/cpio",
        "d": "用来建立、还原备份档的工具程序"
    },
    {
        "n": "createrepo",
        "p": "/createrepo",
        "d": "创建YUM仓库"
    },
    {
        "n": "crontab",
        "p": "/crontab",
        "d": "提交和管理用户的需要周期性执行的任务"
    },
    {
        "n": "csplit",
        "p": "/csplit",
        "d": "将一个大文件分割成小的碎片文件"
    },
    {
        "n": "cu",
        "p": "/cu",
        "d": "用于连接另一个系统主机"
    },
    {
        "n": "cupsdisable",
        "p": "/cupsdisable",
        "d": "停止指定的打印机"
    },
    {
        "n": "cupsenable",
        "p": "/cupsenable",
        "d": "启动指定的打印机"
    },
    {
        "n": "curl",
        "p": "/curl",
        "d": "利用URL规则在命令行下工作的文件传输工具"
    },
    {
        "n": "cut",
        "p": "/cut",
        "d": "连接文件并打印到标准输出设备上"
    },
    {
        "n": "date",
        "p": "/date",
        "d": "显示或设置系统时间与日期"
    },
    {
        "n": "dc",
        "p": "/dc",
        "d": "任意精度计算器"
    },
    {
        "n": "dd",
        "p": "/dd",
        "d": "复制文件并对原文件的内容进行转换和格式化处理"
    },
    {
        "n": "declare",
        "p": "/declare",
        "d": "声明变量，设置或显示变量的值和属性。"
    },
    {
        "n": "depmod",
        "p": "/depmod",
        "d": "分析可载入模块的相依性"
    },
    {
        "n": "df",
        "p": "/df",
        "d": "显示磁盘的相关信息"
    },
    {
        "n": "dhclient",
        "p": "/dhclient",
        "d": "动态获取或释放IP地址"
    },
    {
        "n": "dhcpd",
        "p": "/dhcpd",
        "d": "运行DHCP服务器"
    },
    {
        "n": "dhcrelay",
        "p": "/dhcrelay",
        "d": "使用dhcrelay命令可以提供中继DHCP和BOOTP请求"
    },
    {
        "n": "diff",
        "p": "/diff",
        "d": "比较给定的两个文件的不同"
    },
    {
        "n": "diff3",
        "p": "/diff3",
        "d": "比较3个文件不同的地方"
    },
    {
        "n": "diffstat",
        "p": "/diffstat",
        "d": "显示diff命令输出信息的柱状图"
    },
    {
        "n": "dig",
        "p": "/dig",
        "d": "域名查询工具"
    },
    {
        "n": "dircolors",
        "p": "/dircolors",
        "d": "置ls命令在显示目录或文件时所用的色彩"
    },
    {
        "n": "dirname",
        "p": "/dirname",
        "d": "去除文件名中的非目录部分"
    },
    {
        "n": "dirs",
        "p": "/dirs",
        "d": "显示目录堆栈。"
    },
    {
        "n": "disown",
        "p": "/disown",
        "d": "从当前的shell中移除作业。"
    },
    {
        "n": "dmesg",
        "p": "/dmesg",
        "d": "显示Linux系统启动信息"
    },
    {
        "n": "dmidecode",
        "p": "/dmidecode",
        "d": "在Linux系统下获取有关硬件方面的信息"
    },
    {
        "n": "dnf",
        "p": "/dnf",
        "d": "新一代的RPM软件包管理器"
    },
    {
        "n": "dnsdomainname",
        "p": "/dnsdomainname",
        "d": "定义DNS系统中FQDN名称的域名"
    },
    {
        "n": "docker",
        "p": "/docker",
        "d": "容器化技术，可以将应用程序及其依赖项打包到一个可移植的容器中，使其可以在不同的环境中运行"
    },
    {
        "n": "domainname",
        "p": "/domainname",
        "d": "显示和设置系统的NIS域名"
    },
    {
        "n": "dos2unix",
        "p": "/dos2unix",
        "d": "将DOS格式文本文件转换成Unix格式"
    },
    {
        "n": "dpkg-deb",
        "p": "/dpkg-deb",
        "d": "Debian Linux下的软件包管理工具"
    },
    {
        "n": "dpkg-divert",
        "p": "/dpkg-divert",
        "d": "Debian Linux中创建并管理一个转向列表"
    },
    {
        "n": "dpkg-preconfigure",
        "p": "/dpkg-preconfigure",
        "d": "Debian Linux中软件包安装之前询问问题"
    },
    {
        "n": "dpkg-query",
        "p": "/dpkg-query",
        "d": "Debian Linux中软件包的查询工具"
    },
    {
        "n": "dpkg-reconfigure",
        "p": "/dpkg-reconfigure",
        "d": "Debian Linux中重新配制一个已经安装的软件包"
    },
    {
        "n": "dpkg-split",
        "p": "/dpkg-split",
        "d": "Debian Linux中将大软件包分割成小包"
    },
    {
        "n": "dpkg-statoverride",
        "p": "/dpkg-statoverride",
        "d": "Debian Linux中覆盖文件的所有权和模式"
    },
    {
        "n": "dpkg-trigger",
        "p": "/dpkg-trigger",
        "d": "Debian Linux下的软件包触发器"
    },
    {
        "n": "dpkg",
        "p": "/dpkg",
        "d": "Debian Linux系统上安装、创建和管理软件包"
    },
    {
        "n": "dris",
        "p": "/dris",
        "d": "显示和清空目录堆栈中的内容"
    },
    {
        "n": "dstat",
        "p": "/dstat",
        "d": "通用的系统资源统计工具"
    },
    {
        "n": "du",
        "p": "/du",
        "d": "显示每个文件和目录的磁盘使用空间"
    },
    {
        "n": "dump",
        "p": "/dump",
        "d": "用于备份ext2或者ext3文件系统"
    },
    {
        "n": "e2fsck",
        "p": "/e2fsck",
        "d": "用于检查第二扩展文件系统的完整性"
    },
    {
        "n": "e2label",
        "p": "/e2label",
        "d": "设置第二扩展文件系统的卷标"
    },
    {
        "n": "echo",
        "p": "/echo",
        "d": "输出指定的字符串或者变量"
    },
    {
        "n": "ed",
        "p": "/ed",
        "d": "单行纯文本编辑器"
    },
    {
        "n": "edquota",
        "p": "/edquota",
        "d": "用于编辑指定用户或工作组磁盘配额"
    },
    {
        "n": "egrep",
        "p": "/egrep",
        "d": "在文件内查找指定的字符串"
    },
    {
        "n": "eject",
        "p": "/eject",
        "d": "用来退出抽取式设备"
    },
    {
        "n": "elinks",
        "p": "/elinks",
        "d": "纯文本界面的WWW浏览器"
    },
    {
        "n": "elm",
        "p": "/elm",
        "d": "纯文本邮件客户端程序"
    },
    {
        "n": "emacs",
        "p": "/emacs",
        "d": "功能强大的全屏文本编辑器"
    },
    {
        "n": "enable",
        "p": "/enable",
        "d": "启动或禁用shell内建命令"
    },
    {
        "n": "env",
        "p": "/env",
        "d": "显示系统中已存在的环境变量"
    },
    {
        "n": "ethtool",
        "p": "/ethtool",
        "d": "显示或修改以太网卡的配置信息"
    },
    {
        "n": "ex",
        "p": "/ex",
        "d": "启动vim编辑器的ex编辑模式"
    },
    {
        "n": "exec",
        "p": "/exec",
        "d": "调用并执行指定的命令"
    },
    {
        "n": "exit",
        "p": "/exit",
        "d": "退出当前的shell。"
    },
    {
        "n": "expand",
        "p": "/expand",
        "d": "将文件的制表符转换为空白字符"
    },
    {
        "n": "export",
        "p": "/export",
        "d": "为shell变量或函数设置导出属性。"
    },
    {
        "n": "exportfs",
        "p": "/exportfs",
        "d": "管理NFS共享文件系统列表"
    },
    {
        "n": "expr",
        "p": "/expr",
        "d": "一款表达式计算工具"
    },
    {
        "n": "false",
        "p": "/false",
        "d": "返回状态为失败。"
    },
    {
        "n": "fc",
        "p": "/fc",
        "d": "显示历史列表中的命令或修改指定的历史命令并执行。"
    },
    {
        "n": "fdisk",
        "p": "/fdisk",
        "d": "查看磁盘使用情况和磁盘分区"
    },
    {
        "n": "fg",
        "p": "/fg",
        "d": "将后台作业移动到前台终端运行"
    },
    {
        "n": "fgrep",
        "p": "/fgrep",
        "d": "为文件搜索文字字符串"
    },
    {
        "n": "file",
        "p": "/file",
        "d": "用来探测给定文件的类型"
    },
    {
        "n": "find",
        "p": "/find",
        "d": "在指定目录下查找文件"
    },
    {
        "n": "findfs",
        "p": "/findfs",
        "d": "标签或UUID查找文件系统"
    },
    {
        "n": "finger",
        "p": "/finger",
        "d": "用于查找并显示用户信息"
    },
    {
        "n": "firewall-cmd",
        "p": "/firewall-cmd",
        "d": "Linux上新用的防火墙软件，跟iptables差不多的工具"
    },
    {
        "n": "fishshell",
        "p": "/fishshell",
        "d": "比 bash 更好用的 shell"
    },
    {
        "n": "fmt",
        "p": "/fmt",
        "d": "读取文件后优化处理并输出"
    },
    {
        "n": "fold",
        "p": "/fold",
        "d": "控制文件内容输出时所占用的屏幕宽度"
    },
    {
        "n": "fping",
        "p": "/fping",
        "d": "fping检测主机是否存在"
    },
    {
        "n": "free",
        "p": "/free",
        "d": "显示内存的使用情况"
    },
    {
        "n": "fsck",
        "p": "/fsck",
        "d": "fsck（英文全拼：file system check）命令检查并且试图修复文件系统中的错误"
    },
    {
        "n": "ftp",
        "p": "/ftp",
        "d": "用来设置文件系统相关功能"
    },
    {
        "n": "ftpcount",
        "p": "/ftpcount",
        "d": "显示目前已FTP登入的用户人数"
    },
    {
        "n": "ftpshut",
        "p": "/ftpshut",
        "d": "在指定的时间关闭FTP服务器"
    },
    {
        "n": "ftptop",
        "p": "/ftptop",
        "d": "proftpd服务器的连接状态"
    },
    {
        "n": "ftpwho",
        "p": "/ftpwho",
        "d": "显示当前每个ftp会话信息"
    },
    {
        "n": "fuser",
        "p": "/fuser",
        "d": "使用文件或文件结构识别进程"
    },
    {
        "n": "gcc",
        "p": "/gcc",
        "d": "基于C/C++的编译器"
    },
    {
        "n": "gcov",
        "p": "/gcov",
        "d": "测试程序的代码覆盖率的工具"
    },
    {
        "n": "gdb",
        "p": "/gdb",
        "d": "功能强大的程序调试器"
    },
    {
        "n": "get_module",
        "p": "/get_module",
        "d": "获取Linux内核模块的详细信息"
    },
    {
        "n": "getenforce",
        "p": "/getenforce",
        "d": "显示当前SELinux的应用模式，是强制、执行还是停用"
    },
    {
        "n": "getent",
        "p": "/getent",
        "d": "查询 DNS 名称服务器中的命名空间"
    },
    {
        "n": "getsebool",
        "p": "/getsebool",
        "d": "查询SElinux策略内各项规则的布尔值"
    },
    {
        "n": "git",
        "p": "/git",
        "d": "是目前世界上最先进的分布式版本控制系统"
    },
    {
        "n": "gpasswd",
        "p": "/gpasswd",
        "d": "Linux下工作组文件的管理工具"
    },
    {
        "n": "gpm",
        "p": "/gpm",
        "d": "提供文字模式下的滑鼠事件处理"
    },
    {
        "n": "grep",
        "p": "/grep",
        "d": "强大的文本搜索工具"
    },
    {
        "n": "groupadd",
        "p": "/groupadd",
        "d": "用于创建一个新的工作组"
    },
    {
        "n": "groupdel",
        "p": "/groupdel",
        "d": "用于删除指定的工作组"
    },
    {
        "n": "groupmems",
        "p": "/groupmems",
        "d": "管理用户主要组的成员"
    },
    {
        "n": "groupmod",
        "p": "/groupmod",
        "d": "更改群组识别码或名称"
    },
    {
        "n": "groups",
        "p": "/groups",
        "d": "打印指定用户所在组的名称。"
    },
    {
        "n": "grpck",
        "p": "/grpck",
        "d": "用于验证组文件的完整性"
    },
    {
        "n": "grpconv",
        "p": "/grpconv",
        "d": "用来开启群组的投影密码"
    },
    {
        "n": "grpunconv",
        "p": "/grpunconv",
        "d": "用来关闭群组的投影密码"
    },
    {
        "n": "grub",
        "p": "/grub",
        "d": "多重引导程序grub的命令行shell工具"
    },
    {
        "n": "grub2-mkconfig",
        "p": "/grub2-mkconfig",
        "d": "生成 grub.cfg 配置文件。"
    },
    {
        "n": "grub2-set-default",
        "p": "/grub2-set-default",
        "d": "设置系统默认的启动内核"
    },
    {
        "n": "gunzip",
        "p": "/gunzip",
        "d": "用来解压缩文件"
    },
    {
        "n": "gzexe",
        "p": "/gzexe",
        "d": "用来压缩可执行文件"
    },
    {
        "n": "gzip",
        "p": "/gzip",
        "d": "用来压缩文件"
    },
    {
        "n": "halt",
        "p": "/halt",
        "d": "关闭正在运行的Linux操作系统"
    },
    {
        "n": "hdparm",
        "p": "/hdparm",
        "d": "显示与设定硬盘的参数"
    },
    {
        "n": "head",
        "p": "/head",
        "d": "显示文件的开头部分。"
    },
    {
        "n": "help",
        "p": "/help",
        "d": "该命令是bash内建命令，用于显示bash内建命令的帮助信息。"
    },
    {
        "n": "hexdump",
        "p": "/hexdump",
        "d": "显示文件十六进制格式"
    },
    {
        "n": "history",
        "p": "/history",
        "d": "显示或操作历史列表。"
    },
    {
        "n": "host",
        "p": "/host",
        "d": "常用的分析域名查询工具"
    },
    {
        "n": "hostid",
        "p": "/hostid",
        "d": "显示当前主机的十六进制数字标识。"
    },
    {
        "n": "hostname",
        "p": "/hostname",
        "d": "显示和设置系统的主机名"
    },
    {
        "n": "hostnamectl",
        "p": "/hostnamectl",
        "d": "查询或更改系统主机名"
    },
    {
        "n": "hping3",
        "p": "/hping3",
        "d": "测试网络及主机的安全"
    },
    {
        "n": "htdigest",
        "p": "/htdigest",
        "d": "Apache服务器内置工具"
    },
    {
        "n": "htop",
        "p": "/htop",
        "d": "[非内部命令]一个互动的进程查看器，可以动态观察系统进程状况"
    },
    {
        "n": "htpasswd",
        "p": "/htpasswd",
        "d": "apache服务器创建密码认证文件"
    },
    {
        "n": "hwclock",
        "p": "/hwclock",
        "d": "显示与设定硬件时钟"
    },
    {
        "n": "iconv",
        "p": "/iconv",
        "d": "转换文件的编码方式"
    },
    {
        "n": "id",
        "p": "/id",
        "d": "打印真实以及有效的用户和所在组的信息"
    },
    {
        "n": "ifcfg",
        "p": "/ifcfg",
        "d": "置Linux中的网络接口参数"
    },
    {
        "n": "ifconfig",
        "p": "/ifconfig",
        "d": "配置和显示Linux系统网卡的网络参数"
    },
    {
        "n": "ifdown",
        "p": "/ifdown",
        "d": "禁用指定的网络接口"
    },
    {
        "n": "ifstat",
        "p": "/ifstat",
        "d": "统计网络接口流量状态"
    },
    {
        "n": "iftop",
        "p": "/iftop",
        "d": "一款实时流量监控工具"
    },
    {
        "n": "ifup",
        "p": "/ifup",
        "d": "激活指定的网络接口"
    },
    {
        "n": "indent",
        "p": "/indent",
        "d": "格式化C语言的源文件"
    },
    {
        "n": "info",
        "p": "/info",
        "d": "Linux下info格式的帮助指令"
    },
    {
        "n": "init",
        "p": "/init",
        "d": "init进程是所有Linux进程的父进程"
    },
    {
        "n": "inotifywait",
        "p": "/inotifywait",
        "d": "异步文件系统监控机制"
    },
    {
        "n": "insmod",
        "p": "/insmod",
        "d": "将给定的模块加载到内核中"
    },
    {
        "n": "install",
        "p": "/install",
        "d": "安装或升级软件或备份数据"
    },
    {
        "n": "iostat",
        "p": "/iostat",
        "d": "监视系统输入输出设备和CPU的使用情况"
    },
    {
        "n": "iotop",
        "p": "/iotop",
        "d": "用来监视磁盘I/O使用状况的工具"
    },
    {
        "n": "ip",
        "p": "/ip",
        "d": "网络配置工具"
    },
    {
        "n": "ip6tables-restore",
        "p": "/ip6tables-restore",
        "d": "还原ip6tables表"
    },
    {
        "n": "ip6tables-save",
        "p": "/ip6tables-save",
        "d": "保存ip6tables表配置"
    },
    {
        "n": "ip6tables",
        "p": "/ip6tables",
        "d": "linux中防火墙软件"
    },
    {
        "n": "ipcalc",
        "p": "/ipcalc",
        "d": "简单的IP地址计算器"
    },
    {
        "n": "ipcrm",
        "p": "/ipcrm",
        "d": "删除消息队列、信号集、或者共享内存标识"
    },
    {
        "n": "ipcs",
        "p": "/ipcs",
        "d": "分析消息队列共享内存和信号量"
    },
    {
        "n": "iperf",
        "p": "/iperf",
        "d": "网络性能测试工具"
    },
    {
        "n": "iptables-restore",
        "p": "/iptables-restore",
        "d": "还原iptables表的配置"
    },
    {
        "n": "iptables-save",
        "p": "/iptables-save",
        "d": "备份iptables的表配置"
    },
    {
        "n": "iptables",
        "p": "/iptables",
        "d": "Linux上常用的防火墙软件"
    },
    {
        "n": "iptraf",
        "p": "/iptraf",
        "d": "实时地监视网卡流量"
    },
    {
        "n": "iptstate",
        "p": "/iptstate",
        "d": "显示iptables的工作状态"
    },
    {
        "n": "ispell",
        "p": "/ispell",
        "d": "检查文件中出现的拼写错误"
    },
    {
        "n": "jed",
        "p": "/jed",
        "d": "主要用于编辑代码的编辑器"
    },
    {
        "n": "jobs",
        "p": "/jobs",
        "d": "显示作业的状态。"
    },
    {
        "n": "joe",
        "p": "/joe",
        "d": "强大的纯文本编辑器"
    },
    {
        "n": "join",
        "p": "/join",
        "d": "两个文件中指定栏位内容相同的行连接起来"
    },
    {
        "n": "journalctl",
        "p": "/journalctl",
        "d": "检索 systemd 日志，是 CentOS 7 才有的工具。"
    },
    {
        "n": "jq",
        "p": "/jq",
        "d": "一个灵活的轻量级命令行JSON处理器"
    },
    {
        "n": "jwhois",
        "p": "/jwhois",
        "d": "whois 客户端服务"
    },
    {
        "n": "kernelversion",
        "p": "/kernelversion",
        "d": "打印当前内核的主版本号"
    },
    {
        "n": "kexec",
        "p": "/kexec",
        "d": "从当前正在运行的内核引导到一个新内核"
    },
    {
        "n": "kill",
        "p": "/kill",
        "d": "发送信号到进程。"
    },
    {
        "n": "killall",
        "p": "/killall",
        "d": "使用进程的名称来杀死一组进程"
    },
    {
        "n": "last",
        "p": "/last",
        "d": "列出目前与过去登入系统的用户相关信息"
    },
    {
        "n": "lastb",
        "p": "/lastb",
        "d": "列出登入系统失败的用户相关信息"
    },
    {
        "n": "lastlog",
        "p": "/lastlog",
        "d": "显示系统中所有用户最近一次登录信息"
    },
    {
        "n": "ld",
        "p": "/ld",
        "d": "将目标文件连接为可执行程序"
    },
    {
        "n": "ldconfig",
        "p": "/ldconfig",
        "d": "动态链接库管理命令"
    },
    {
        "n": "ldd",
        "p": "/ldd",
        "d": "打印程序或者库文件所依赖的共享库列表"
    },
    {
        "n": "less",
        "p": "/less",
        "d": "分屏上下翻页浏览文件内容"
    },
    {
        "n": "let",
        "p": "/let",
        "d": "简单的计算器，执行算术表达式。"
    },
    {
        "n": "lftp",
        "p": "/lftp",
        "d": "优秀的文件客户端程序"
    },
    {
        "n": "lftpget",
        "p": "/lftpget",
        "d": "调用lftp指令下载指定的文件"
    },
    {
        "n": "lha",
        "p": "/lha",
        "d": "压缩或解压缩lzh格式文件"
    },
    {
        "n": "lilo",
        "p": "/lilo",
        "d": "安装核心载入开机管理程序"
    },
    {
        "n": "ln",
        "p": "/ln",
        "d": "用来为文件创建链接"
    },
    {
        "n": "lnstat",
        "p": "/lnstat",
        "d": "显示Linux系统的网路状态"
    },
    {
        "n": "local",
        "p": "/local",
        "d": "在函数内定义局部变量。"
    },
    {
        "n": "locate",
        "p": "/locate",
        "d": "比 find 好用的文件查找工具"
    },
    {
        "n": "logger",
        "p": "/logger",
        "d": "在系统日志中记录相应条目"
    },
    {
        "n": "login",
        "p": "/login",
        "d": "登录系统或切换用户身份"
    },
    {
        "n": "logname",
        "p": "/logname",
        "d": "打印当前终端登录用户的名称。"
    },
    {
        "n": "logout",
        "p": "/logout",
        "d": "退出当前登录的Shell"
    },
    {
        "n": "logrotate",
        "p": "/logrotate",
        "d": "系统日志进行轮转、压缩和删除"
    },
    {
        "n": "logsave",
        "p": "/logsave",
        "d": "将命令的输出信息保存到指定的日志文件"
    },
    {
        "n": "logwatch",
        "p": "/logwatch",
        "d": "可定制和可插入式的日志监视系统"
    },
    {
        "n": "look",
        "p": "/look",
        "d": "显示文件中以指定字符串开头的任意行"
    },
    {
        "n": "losetup",
        "p": "/losetup",
        "d": "设定与控制循环（loop）设备"
    },
    {
        "n": "lp",
        "p": "/lp",
        "d": "打印文件或修改排队的打印任务"
    },
    {
        "n": "lpadmin",
        "p": "/lpadmin",
        "d": "配置CUPS套件中的打印机和类"
    },
    {
        "n": "lpc",
        "p": "/lpc",
        "d": "命令行方式打印机控制程序"
    },
    {
        "n": "lpq",
        "p": "/lpq",
        "d": "显示打印队列中的打印任务的状态信息"
    },
    {
        "n": "lpr",
        "p": "/lpr",
        "d": "将文件发送给指定打印机进行打印"
    },
    {
        "n": "lprm",
        "p": "/lprm",
        "d": "删除打印队列中的打印任务"
    },
    {
        "n": "lpstat",
        "p": "/lpstat",
        "d": "显示CUPS中打印机的状态信息"
    },
    {
        "n": "ls",
        "p": "/ls",
        "d": "显示目录内容列表"
    },
    {
        "n": "lsattr",
        "p": "/lsattr",
        "d": "查看文件的第二扩展文件系统属性"
    },
    {
        "n": "lsb_release",
        "p": "/lsb_release",
        "d": "显示发行版本信息"
    },
    {
        "n": "lsblk",
        "p": "/lsblk",
        "d": "列出块设备信息"
    },
    {
        "n": "lscpu",
        "p": "/lscpu",
        "d": "显示有关CPU架构的信息"
    },
    {
        "n": "lsmod",
        "p": "/lsmod",
        "d": "显示已载入系统的模块"
    },
    {
        "n": "lsof",
        "p": "/lsof",
        "d": "显示Linux系统当前已打开的所有文件列表 `lsof -p pid`"
    },
    {
        "n": "lspci",
        "p": "/lspci",
        "d": "显示当前主机的所有PCI总线信息"
    },
    {
        "n": "lsusb",
        "p": "/lsusb",
        "d": "显示本机的USB设备列表信息"
    },
    {
        "n": "ltrace",
        "p": "/ltrace",
        "d": "用来跟踪进程调用库函数的情况"
    },
    {
        "n": "lvcreate",
        "p": "/lvcreate",
        "d": "用于创建LVM的逻辑卷"
    },
    {
        "n": "lvdisplay",
        "p": "/lvdisplay",
        "d": "显示逻辑卷属性"
    },
    {
        "n": "lvextend",
        "p": "/lvextend",
        "d": "扩展逻辑卷空间"
    },
    {
        "n": "lvreduce",
        "p": "/lvreduce",
        "d": "收缩逻辑卷空间"
    },
    {
        "n": "lvremove",
        "p": "/lvremove",
        "d": "删除指定LVM逻辑卷"
    },
    {
        "n": "lvresize",
        "p": "/lvresize",
        "d": "调整逻辑卷空间大小"
    },
    {
        "n": "lvscan",
        "p": "/lvscan",
        "d": "扫描逻辑卷"
    },
    {
        "n": "lynx",
        "p": "/lynx",
        "d": "纯文本模式的网页浏览器"
    },
    {
        "n": "mail",
        "p": "/mail",
        "d": "命令行下发送和接收电子邮件"
    },
    {
        "n": "mailq",
        "p": "/mailq",
        "d": "显示待发送的邮件队列"
    },
    {
        "n": "mailstat",
        "p": "/mailstat",
        "d": "显示到达的邮件状态"
    },
    {
        "n": "make",
        "p": "/make",
        "d": "GNU的工程化编译工具"
    },
    {
        "n": "man",
        "p": "/man",
        "d": "查看Linux中的指令帮助"
    },
    {
        "n": "mapfile",
        "p": "/mapfile",
        "d": "从标准输入读取行并赋值到数组。"
    },
    {
        "n": "md5sum",
        "p": "/md5sum",
        "d": "计算和校验文件报文摘要的工具程序"
    },
    {
        "n": "mesg",
        "p": "/mesg",
        "d": "设置当前终端的写权限"
    },
    {
        "n": "mii-tool",
        "p": "/mii-tool",
        "d": "配置网络设备协商方式的工具"
    },
    {
        "n": "mkbootdisk",
        "p": "/mkbootdisk",
        "d": "可建立目前系统的启动盘"
    },
    {
        "n": "mkcert",
        "p": "/mkcert",
        "d": "用来生成自签证书的工具"
    },
    {
        "n": "mkdir",
        "p": "/mkdir",
        "d": "用来创建目录"
    },
    {
        "n": "mke2fs",
        "p": "/mke2fs",
        "d": "创建磁盘分区上的“etc2/etc3”文件系统"
    },
    {
        "n": "mkfs",
        "p": "/mkfs",
        "d": "用于在设备上创建Linux文件系统"
    },
    {
        "n": "mkinitrd",
        "p": "/mkinitrd",
        "d": "建立要载入ramdisk的映像文件"
    },
    {
        "n": "mkisofs",
        "p": "/mkisofs",
        "d": "建立ISO 9660映像文件"
    },
    {
        "n": "mknod",
        "p": "/mknod",
        "d": "创建字符设备文件和块设备文件"
    },
    {
        "n": "mkswap",
        "p": "/mkswap",
        "d": "建立和设置SWAP交换分区"
    },
    {
        "n": "mktemp",
        "p": "/mktemp",
        "d": "创建临时文件供shell脚本使用"
    },
    {
        "n": "modetest",
        "p": "/modetest",
        "d": "DRM/KMS驱动程序libdrm中的模式测试工具"
    },
    {
        "n": "modprobe",
        "p": "/modprobe",
        "d": "自动处理可载入模块"
    },
    {
        "n": "more",
        "p": "/more",
        "d": "显示文件内容，每次显示一屏"
    },
    {
        "n": "mount",
        "p": "/mount",
        "d": "用于挂载Linux系统外的文件"
    },
    {
        "n": "mpstat",
        "p": "/mpstat",
        "d": "显示各个可用CPU的状态"
    },
    {
        "n": "mtools",
        "p": "/mtools",
        "d": "显示mtools支持的指令"
    },
    {
        "n": "mv",
        "p": "/mv",
        "d": "用来对文件或目录重新命名"
    },
    {
        "n": "mysql",
        "p": "/mysql",
        "d": "MySQL服务器客户端工具"
    },
    {
        "n": "mysqladmin",
        "p": "/mysqladmin",
        "d": "MySQL服务器管理客户端"
    },
    {
        "n": "mysqldump",
        "p": "/mysqldump",
        "d": "MySQL数据库中备份工具"
    },
    {
        "n": "mysqlimport",
        "p": "/mysqlimport",
        "d": "为MySQL服务器用命令行方式导入数据"
    },
    {
        "n": "mysqlshow",
        "p": "/mysqlshow",
        "d": "显示MySQL中数据库相关信息"
    },
    {
        "n": "named-checkzone",
        "p": "/named-checkzone",
        "d": "使用named-checkzone命令可以进行区域文件有效性检查和转换，必须指定区域名称和区域文件名称"
    },
    {
        "n": "nano",
        "p": "/nano",
        "d": "字符终端文本编辑器"
    },
    {
        "n": "nc",
        "p": "/nc",
        "d": "nc是网络工具中的瑞士军刀"
    },
    {
        "n": "ncftp",
        "p": "/ncftp",
        "d": "是增强的的FTP工具"
    },
    {
        "n": "neofetch",
        "p": "/neofetch",
        "d": "显示带有发行徽标的系统信息的工具"
    },
    {
        "n": "nethogs",
        "p": "/nethogs",
        "d": "终端下的网络流量监控工具"
    },
    {
        "n": "netstat",
        "p": "/netstat",
        "d": "查看Linux中网络系统状态信息"
    },
    {
        "n": "newusers",
        "p": "/newusers",
        "d": "用于批处理的方式一次创建多个命令"
    },
    {
        "n": "nfsstat",
        "p": "/nfsstat",
        "d": "列出NFS客户端和服务器的工作状态"
    },
    {
        "n": "ngrep",
        "p": "/ngrep",
        "d": "方便的数据包匹配和显示工具"
    },
    {
        "n": "nice",
        "p": "/nice",
        "d": "调整程序执行的优先权等级"
    },
    {
        "n": "nisdomainname",
        "p": "/nisdomainname",
        "d": "显示主机NIS的域名"
    },
    {
        "n": "nl",
        "p": "/nl",
        "d": "为每一个文件添加行号。"
    },
    {
        "n": "nm",
        "p": "/nm",
        "d": "显示二进制目标文件的符号表"
    },
    {
        "n": "nmap",
        "p": "/nmap",
        "d": "网络探测和安全审核"
    },
    {
        "n": "nmcli",
        "p": "/nmcli",
        "d": "地址配置工具"
    },
    {
        "n": "nohup",
        "p": "/nohup",
        "d": "将程序以忽略挂起信号的方式运行起来"
    },
    {
        "n": "nologin",
        "p": "/nologin",
        "d": "拒绝用户登录系统"
    },
    {
        "n": "nproc",
        "p": "/nproc",
        "d": "打印可用的处理器单元数量。"
    },
    {
        "n": "nslookup",
        "p": "/nslookup",
        "d": "查询域名DNS信息的工具"
    },
    {
        "n": "ntpdate",
        "p": "/ntpdate",
        "d": "使用网络计时协议（NTP）设置日期和时间"
    },
    {
        "n": "ntsysv",
        "p": "/ntsysv",
        "d": "集中管理系统的各种服务"
    },
    {
        "n": "objdump",
        "p": "/objdump",
        "d": "显示二进制文件信息"
    },
    {
        "n": "od",
        "p": "/od",
        "d": "输出文件的八进制、十六进制等格式编码的字节"
    },
    {
        "n": "openssl",
        "p": "/openssl",
        "d": "强大的安全套接字层密码库"
    },
    {
        "n": "pacman",
        "p": "/pacman",
        "d": "Arch Linux 系统极其衍生系统中默认使用的包管理器"
    },
    {
        "n": "parted",
        "p": "/parted",
        "d": "磁盘分区和分区大小调整工具"
    },
    {
        "n": "partprobe",
        "p": "/partprobe",
        "d": "不重启的情况下重读分区"
    },
    {
        "n": "passwd",
        "p": "/passwd",
        "d": "用于让用户可以更改自己的密码"
    },
    {
        "n": "paste",
        "p": "/paste",
        "d": "将多个文件按列队列合并"
    },
    {
        "n": "patch",
        "p": "/patch",
        "d": "为开放源代码软件安装补丁程序"
    },
    {
        "n": "pathchk",
        "p": "/pathchk",
        "d": "检查文件中不可移植的部分"
    },
    {
        "n": "perl",
        "p": "/perl",
        "d": "perl语言解释器"
    },
    {
        "n": "pfctl",
        "p": "/pfctl",
        "d": "PF防火墙的配置命令"
    },
    {
        "n": "pgrep",
        "p": "/pgrep",
        "d": "根据用户给出的信息在当前运行进程中查找并列出符合条件的进程ID（PID）"
    },
    {
        "n": "php",
        "p": "/php",
        "d": "PHP语言的命令行接口"
    },
    {
        "n": "pico",
        "p": "/pico",
        "d": "功能强大全屏幕的文本编辑器"
    },
    {
        "n": "pidof",
        "p": "/pidof",
        "d": "查找指定名称的进程的进程号ID号"
    },
    {
        "n": "pidstat",
        "p": "/pidstat",
        "d": "监控进程的系统资源占用情况"
    },
    {
        "n": "pigz",
        "p": "/pigz",
        "d": "可以用来解压缩文件，gzip的并行实现升级版"
    },
    {
        "n": "ping",
        "p": "/ping",
        "d": "测试主机之间网络的连通性(ipv4)"
    },
    {
        "n": "ping6",
        "p": "/ping6",
        "d": "测试主机之间网络的连通性(ipv6)"
    },
    {
        "n": "pkill",
        "p": "/pkill",
        "d": "可以按照进程名杀死进程"
    },
    {
        "n": "pmap",
        "p": "/pmap",
        "d": "报告进程的内存映射关系"
    },
    {
        "n": "popd",
        "p": "/popd",
        "d": "从目录堆栈中删除目录。"
    },
    {
        "n": "poweroff",
        "p": "/poweroff",
        "d": "关闭Linux系统，关闭记录会被写入到/var/log/wtmp日志文件中"
    },
    {
        "n": "ppp-off",
        "p": "/ppp-off",
        "d": "关闭ppp连线"
    },
    {
        "n": "pr",
        "p": "/pr",
        "d": "将文本文件转换成适合打印的格式"
    },
    {
        "n": "printf",
        "p": "/printf",
        "d": "格式化并输出结果。"
    },
    {
        "n": "protoize",
        "p": "/protoize",
        "d": "GNU-C代码转换为ANSI-C代码"
    },
    {
        "n": "prtstat",
        "p": "/prtstat",
        "d": "显示进程信息"
    },
    {
        "n": "ps",
        "p": "/ps",
        "d": "报告当前系统的进程状态"
    },
    {
        "n": "pssh",
        "p": "/pssh",
        "d": "批量管理执行"
    },
    {
        "n": "pstack",
        "p": "/pstack",
        "d": "显示每个进程的栈跟踪"
    },
    {
        "n": "pstree",
        "p": "/pstree",
        "d": "以树状图的方式展现进程之间的派生关系"
    },
    {
        "n": "pushd",
        "p": "/pushd",
        "d": "将目录添加到目录堆栈顶部。"
    },
    {
        "n": "pv",
        "p": "/pv",
        "d": "显示当前在命令行执行的命令的进度信息，管道查看器"
    },
    {
        "n": "pvchange",
        "p": "/pvchange",
        "d": "修改物理卷属性"
    },
    {
        "n": "pvck",
        "p": "/pvck",
        "d": "检测物理卷的LVM元数据的一致性"
    },
    {
        "n": "pvcreate",
        "p": "/pvcreate",
        "d": "将物理硬盘分区初始化为物理卷"
    },
    {
        "n": "pvdisplay",
        "p": "/pvdisplay",
        "d": "显示物理卷的属性"
    },
    {
        "n": "pvremove",
        "p": "/pvremove",
        "d": "删除一个存在的物理卷"
    },
    {
        "n": "pvs",
        "p": "/pvs",
        "d": "输出物理卷信息报表"
    },
    {
        "n": "pvscan",
        "p": "/pvscan",
        "d": "扫描系统中所有硬盘的物理卷列表"
    },
    {
        "n": "pwck",
        "p": "/pwck",
        "d": "用来验证系统认证文件内容和格式的完整性"
    },
    {
        "n": "pwconv",
        "p": "/pwconv",
        "d": "用来开启用户的投影密码"
    },
    {
        "n": "pwd",
        "p": "/pwd",
        "d": "显示当前工作目录的绝对路径。"
    },
    {
        "n": "pwdx",
        "p": "/pwdx",
        "d": "用于显示指定进程的当前工作目录"
    },
    {
        "n": "pwunconv",
        "p": "/pwunconv",
        "d": "用来关闭用户的投影密码"
    },
    {
        "n": "quota",
        "p": "/quota",
        "d": "显示磁盘已使用的空间与限制"
    },
    {
        "n": "quotacheck",
        "p": "/quotacheck",
        "d": "检查磁盘的使用空间与限制"
    },
    {
        "n": "quotaoff",
        "p": "/quotaoff",
        "d": "关闭Linux内核中指定文件系统的磁盘配额功能"
    },
    {
        "n": "quotaon",
        "p": "/quotaon",
        "d": "激活Linux内核中指定文件系统的磁盘配额功能"
    },
    {
        "n": "rcconf",
        "p": "/rcconf",
        "d": "Debian Linux下的运行等级服务配置工具"
    },
    {
        "n": "rcp",
        "p": "/rcp",
        "d": "使在两台Linux主机之间的文件复制操作更简单"
    },
    {
        "n": "read",
        "p": "/read",
        "d": "从键盘读取变量值"
    },
    {
        "n": "readelf",
        "p": "/readelf",
        "d": "用于显示elf格式文件的信息"
    },
    {
        "n": "readonly",
        "p": "/readonly",
        "d": "标记shell变量或函数为只读"
    },
    {
        "n": "reboot",
        "p": "/reboot",
        "d": "重新启动正在运行的Linux操作系统"
    },
    {
        "n": "reject",
        "p": "/reject",
        "d": "指示打印系统拒绝发往指定目标打印机的打印任务"
    },
    {
        "n": "rename",
        "p": "/rename",
        "d": "用字符串替换的方式批量改变文件名"
    },
    {
        "n": "renice",
        "p": "/renice",
        "d": "修改正在运行的进程的调度优先级"
    },
    {
        "n": "reposync",
        "p": "/reposync",
        "d": "同步yum存储库到本地目录"
    },
    {
        "n": "repquota",
        "p": "/repquota",
        "d": "报表的格式输出磁盘空间限制的状态"
    },
    {
        "n": "resize",
        "p": "/resize",
        "d": "命令设置终端机视窗的大小"
    },
    {
        "n": "restore",
        "p": "/restore",
        "d": "所进行的操作和dump指令相反"
    },
    {
        "n": "restorecon",
        "p": "/restorecon",
        "d": "恢复文件的安全上下文"
    },
    {
        "n": "return",
        "p": "/return",
        "d": "从函数中退出并返回数值。"
    },
    {
        "n": "rev",
        "p": "/rev",
        "d": "将文件内容以字符为单位反序输出"
    },
    {
        "n": "rexec",
        "p": "/rexec",
        "d": "远程执行Linux系统下命令"
    },
    {
        "n": "rlogin",
        "p": "/rlogin",
        "d": "从当前终端登录到远程Linux主机"
    },
    {
        "n": "rm",
        "p": "/rm",
        "d": "用于删除给定的文件和目录"
    },
    {
        "n": "rmdir",
        "p": "/rmdir",
        "d": "用来删除空目录"
    },
    {
        "n": "rmmod",
        "p": "/rmmod",
        "d": "从运行的内核中移除指定的内核模块"
    },
    {
        "n": "route",
        "p": "/route",
        "d": "显示并设置Linux中静态路由表"
    },
    {
        "n": "rpm",
        "p": "/rpm",
        "d": "RPM软件包的管理工具"
    },
    {
        "n": "rpm2cpio",
        "p": "/rpm2cpio",
        "d": "将RPM软件包转换为cpio格式的文件"
    },
    {
        "n": "rpmbuild",
        "p": "/rpmbuild",
        "d": "创建RPM的二进制软件包和源码软件包"
    },
    {
        "n": "rpmdb",
        "p": "/rpmdb",
        "d": "初始化和重建RPM数据库"
    },
    {
        "n": "rpmquery",
        "p": "/rpmquery",
        "d": "从RPM数据库中查询软件包信息"
    },
    {
        "n": "rpmsign",
        "p": "/rpmsign",
        "d": "使用RPM软件包的签名管理工具"
    },
    {
        "n": "rpmverify",
        "p": "/rpmverify",
        "d": "验证已安装的RPM软件包的正确性"
    },
    {
        "n": "rsh",
        "p": "/rsh",
        "d": "连接远程主机并执行命令"
    },
    {
        "n": "rsync",
        "p": "/rsync",
        "d": "远程数据同步工具"
    },
    {
        "n": "runlevel",
        "p": "/runlevel",
        "d": "打印当前Linux系统的运行等级"
    },
    {
        "n": "sar",
        "p": "/sar",
        "d": "系统运行状态统计工具"
    },
    {
        "n": "scp",
        "p": "/scp",
        "d": "加密的方式在本地主机和远程主机之间复制文件"
    },
    {
        "n": "screen",
        "p": "/screen",
        "d": "用于命令行终端切换"
    },
    {
        "n": "script",
        "p": "/script",
        "d": "记录终端会话的所有操作"
    },
    {
        "n": "scriptreplay",
        "p": "/scriptreplay",
        "d": "重新播放终端会话的所有操作"
    },
    {
        "n": "sed",
        "p": "/sed",
        "d": "功能强大的流式文本编辑器"
    },
    {
        "n": "seinfo",
        "p": "/seinfo",
        "d": "查询SELinux的策略提供多少相关规则"
    },
    {
        "n": "semanage",
        "p": "/semanage",
        "d": "默认目录的安全上下文查询与修改"
    },
    {
        "n": "sendmail",
        "p": "/sendmail",
        "d": "著名电子邮件服务器"
    },
    {
        "n": "seq",
        "p": "/seq",
        "d": "以指定增量从首数开始打印数字到尾数"
    },
    {
        "n": "service",
        "p": "/service",
        "d": "控制系统服务的实用工具"
    },
    {
        "n": "sesearch",
        "p": "/sesearch",
        "d": "查询SELinux策略的规则详情"
    },
    {
        "n": "set",
        "p": "/set",
        "d": "显示或设置shell特性及shell变量"
    },
    {
        "n": "setfacl",
        "p": "/setfacl",
        "d": "设置文件访问控制列表"
    },
    {
        "n": "setpci",
        "p": "/setpci",
        "d": "查询和配置PCI设备的使用工具"
    },
    {
        "n": "setsebool",
        "p": "/setsebool",
        "d": "修改SElinux策略内各项规则的布尔值"
    },
    {
        "n": "setsid",
        "p": "/setsid",
        "d": "在新的会话中运行程序"
    },
    {
        "n": "sftp-server",
        "p": "/sftp-server",
        "d": "sftp协议的服务器端程序"
    },
    {
        "n": "sftp",
        "p": "/sftp",
        "d": "交互式的文件传输程序"
    },
    {
        "n": "sh",
        "p": "/sh",
        "d": "shell命令解释器"
    },
    {
        "n": "sha256sum",
        "p": "/sha256sum",
        "d": "用于计算文件的 SHA-256 哈希值"
    },
    {
        "n": "shift",
        "p": "/shift",
        "d": "移动位置参数。"
    },
    {
        "n": "shopt",
        "p": "/shopt",
        "d": "显示和设置shell操作选项"
    },
    {
        "n": "showmount",
        "p": "/showmount",
        "d": "显示NFS服务器加载的信息"
    },
    {
        "n": "shuf",
        "p": "/shuf",
        "d": "产生随机的排列。"
    },
    {
        "n": "shutdown",
        "p": "/shutdown",
        "d": "用来执行系统关机的命令"
    },
    {
        "n": "skill",
        "p": "/skill",
        "d": "向选定的进程发送信号冻结进程"
    },
    {
        "n": "slabtop",
        "p": "/slabtop",
        "d": "实时显示内核slab内存缓存信息"
    },
    {
        "n": "sleep",
        "p": "/sleep",
        "d": "将目前动作延迟一段时间"
    },
    {
        "n": "slocate",
        "p": "/slocate",
        "d": "命令查找文件或目录"
    },
    {
        "n": "smartmontools",
        "p": "/smartmontools",
        "d": "Smartmontools 是一种硬盘检测工具，通过控制和管理硬盘的SMART（Self Monitoring Analysis and Reporting Technology，自动检测分析及报告技术）技术来实现的"
    },
    {
        "n": "smbclient",
        "p": "/smbclient",
        "d": "交互方式访问samba服务器"
    },
    {
        "n": "smbpasswd",
        "p": "/smbpasswd",
        "d": "samba用户和密码管理工具"
    },
    {
        "n": "sort",
        "p": "/sort",
        "d": "对文本文件中所有行进行排序。"
    },
    {
        "n": "source",
        "p": "/source",
        "d": "在当前Shell环境中从指定文件读取和执行命令。"
    },
    {
        "n": "speedtest-cli",
        "p": "/speedtest-cli",
        "d": "命令行下测试服务器外网速度"
    },
    {
        "n": "spell",
        "p": "/spell",
        "d": "对文件进行拼写检查"
    },
    {
        "n": "split",
        "p": "/split",
        "d": "分割任意大小的文件"
    },
    {
        "n": "squid",
        "p": "/squid",
        "d": "squid服务器守护进程"
    },
    {
        "n": "squidclient",
        "p": "/squidclient",
        "d": "squid服务器的客户端管理工具"
    },
    {
        "n": "ss",
        "p": "/ss",
        "d": "比 netstat 好用的socket统计信息，iproute2 包附带的另一个工具，允许你查询 socket 的有关统计信息"
    },
    {
        "n": "ssh-add",
        "p": "/ssh-add",
        "d": "把专用密钥添加到ssh-agent的高速缓存中"
    },
    {
        "n": "ssh-agent",
        "p": "/ssh-agent",
        "d": "ssh密钥管理器"
    },
    {
        "n": "ssh-copy-id",
        "p": "/ssh-copy-id",
        "d": "把本地的ssh公钥文件安装到远程主机对应的账户下"
    },
    {
        "n": "ssh-keygen",
        "p": "/ssh-keygen",
        "d": "为ssh生成、管理和转换认证密钥"
    },
    {
        "n": "ssh-keyscan",
        "p": "/ssh-keyscan",
        "d": "收集主机公钥的使用工具"
    },
    {
        "n": "ssh",
        "p": "/ssh",
        "d": "openssh套件中的客户端连接工具"
    },
    {
        "n": "sshd",
        "p": "/sshd",
        "d": "openssh软件套件中的服务器守护进程"
    },
    {
        "n": "startx",
        "p": "/startx",
        "d": "用来启动X Window"
    },
    {
        "n": "stat",
        "p": "/stat",
        "d": "用于显示文件的状态信息"
    },
    {
        "n": "strace",
        "p": "/strace",
        "d": "跟踪系统调用和信号"
    },
    {
        "n": "strings",
        "p": "/strings",
        "d": "在对象文件或二进制文件中查找可打印的字符串"
    },
    {
        "n": "stty",
        "p": "/stty",
        "d": "修改终端命令行的相关设置"
    },
    {
        "n": "su",
        "p": "/su",
        "d": "用于切换当前用户身份到其他用户身份"
    },
    {
        "n": "sudo",
        "p": "/sudo",
        "d": "以其他身份来执行命令"
    },
    {
        "n": "sum",
        "p": "/sum",
        "d": "计算文件的校验码和显示块数"
    },
    {
        "n": "supervisord",
        "p": "/supervisord",
        "d": "配置后台服务/常驻进程的进程管家工具"
    },
    {
        "n": "suspend",
        "p": "/suspend",
        "d": "挂起shell的执行。"
    },
    {
        "n": "swapoff",
        "p": "/swapoff",
        "d": "关闭指定的交换空间"
    },
    {
        "n": "swapon",
        "p": "/swapon",
        "d": "激活Linux系统中交换空间"
    },
    {
        "n": "sync",
        "p": "/sync",
        "d": "用于强制被改变的内容立刻写入磁盘"
    },
    {
        "n": "sysctl",
        "p": "/sysctl",
        "d": "时动态地修改内核的运行参数"
    },
    {
        "n": "syslog",
        "p": "/syslog",
        "d": "系统默认的日志守护进程"
    },
    {
        "n": "systemctl",
        "p": "/systemctl",
        "d": "系统服务管理器指令"
    },
    {
        "n": "systool",
        "p": "/systool",
        "d": "显示基于总线、类和拓扑显示系统中设备的信息"
    },
    {
        "n": "tac",
        "p": "/tac",
        "d": "连接多个文件并以行为单位反向打印到标准输出。"
    },
    {
        "n": "tail",
        "p": "/tail",
        "d": "在屏幕上显示指定文件的末尾若干行"
    },
    {
        "n": "tailf",
        "p": "/tailf",
        "d": "在屏幕上显示指定文件的末尾若干行内容，通常用于日志文件的跟踪输出"
    },
    {
        "n": "talk",
        "p": "/talk",
        "d": "让用户和其他用户聊天"
    },
    {
        "n": "tar",
        "p": "/tar",
        "d": "将许多文件一起保存至一个单独的磁带或磁盘归档，并能从归档中单独还原所需文件。"
    },
    {
        "n": "tcpdump",
        "p": "/tcpdump",
        "d": "一款sniffer工具，是Linux上的抓包工具，嗅探器"
    },
    {
        "n": "tcpreplay",
        "p": "/tcpreplay",
        "d": "将PCAP包重新发送，用于性能或者功能测试"
    },
    {
        "n": "tee",
        "p": "/tee",
        "d": "从标准输入读取数据并重定向到标准输出和文件。"
    },
    {
        "n": "telinit",
        "p": "/telinit",
        "d": "切换当前正在运行系统的运行等级"
    },
    {
        "n": "telnet",
        "p": "/telnet",
        "d": "登录远程主机和管理(测试ip端口是否连通)"
    },
    {
        "n": "tempfile",
        "p": "/tempfile",
        "d": "shell中给临时文件命名"
    },
    {
        "n": "test",
        "p": "/test",
        "d": "执行条件表达式。"
    },
    {
        "n": "tftp",
        "p": "/tftp",
        "d": "在本机和tftp服务器之间使用TFTP协议传输文件"
    },
    {
        "n": "time",
        "p": "/time",
        "d": "统计给定命令所花费的总时间"
    },
    {
        "n": "timedatectl",
        "p": "/timedatectl",
        "d": "用于在 Linux 中设置或查询系统时间、日期和时区等配置。"
    },
    {
        "n": "times",
        "p": "/times",
        "d": "显示进程累计时间。"
    },
    {
        "n": "tload",
        "p": "/tload",
        "d": "显示系统负载状况"
    },
    {
        "n": "tmux",
        "p": "/tmux",
        "d": "Tmux是一个优秀的终端复用软件，类似GNU Screen，但来自于OpenBSD，采用BSD授权"
    },
    {
        "n": "top",
        "p": "/top",
        "d": "显示或管理执行中的程序"
    },
    {
        "n": "touch",
        "p": "/touch",
        "d": "创建新的空文件"
    },
    {
        "n": "tput",
        "p": "/tput",
        "d": "通过terminfo数据库对终端会话进行初始化和操作"
    },
    {
        "n": "tr",
        "p": "/tr",
        "d": "将字符进行替换压缩和删除"
    },
    {
        "n": "tracepath",
        "p": "/tracepath",
        "d": "追踪目的主机经过的路由信息"
    },
    {
        "n": "traceroute",
        "p": "/traceroute",
        "d": "显示数据包到主机间的路径"
    },
    {
        "n": "trap",
        "p": "/trap",
        "d": "捕捉信号和其他事件并执行命令。"
    },
    {
        "n": "tree",
        "p": "/tree",
        "d": "树状图列出目录的内容"
    },
    {
        "n": "true",
        "p": "/true",
        "d": "返回状态为成功。"
    },
    {
        "n": "tty",
        "p": "/tty",
        "d": "显示连接到当前标准输入的终端设备文件名"
    },
    {
        "n": "type",
        "p": "/type",
        "d": "显示指定命令的类型。"
    },
    {
        "n": "ulimit",
        "p": "/ulimit",
        "d": "控制shell程序的资源"
    },
    {
        "n": "umask",
        "p": "/umask",
        "d": "显示或设置创建文件的权限掩码。"
    },
    {
        "n": "umount",
        "p": "/umount",
        "d": "用于卸载已经加载的文件系统"
    },
    {
        "n": "unalias",
        "p": "/unalias",
        "d": "删除由alias设置的别名"
    },
    {
        "n": "uname",
        "p": "/uname",
        "d": "打印系统信息。"
    },
    {
        "n": "unarj",
        "p": "/unarj",
        "d": "解压缩由arj命令创建的压缩包"
    },
    {
        "n": "uncompress",
        "p": "/uncompress",
        "d": "用来解压.Z文件"
    },
    {
        "n": "unexpand",
        "p": "/unexpand",
        "d": "将文件的空白字符转换为制表符"
    },
    {
        "n": "uniq",
        "p": "/uniq",
        "d": "显示或忽略重复的行。"
    },
    {
        "n": "unlink",
        "p": "/unlink",
        "d": "系统调用函数unlink去删除指定的文件"
    },
    {
        "n": "unprotoize",
        "p": "/unprotoize",
        "d": "删除C语言源代码文件中的函数原型"
    },
    {
        "n": "unrar",
        "p": "/unrar",
        "d": "解压rar文件命令，从 rar 压缩包中提取文件"
    },
    {
        "n": "unset",
        "p": "/unset",
        "d": "删除指定的shell变量或函数。"
    },
    {
        "n": "unzip",
        "p": "/unzip",
        "d": "用于解压缩由zip命令压缩的压缩包"
    },
    {
        "n": "updatedb",
        "p": "/updatedb",
        "d": "创建或更新slocate命令所必需的数据库文件"
    },
    {
        "n": "uptime",
        "p": "/uptime",
        "d": "查看Linux系统负载信息"
    },
    {
        "n": "useradd",
        "p": "/useradd",
        "d": "创建的新的系统用户"
    },
    {
        "n": "userdel",
        "p": "/userdel",
        "d": "用于删除给定的用户以及与用户相关的文件"
    },
    {
        "n": "usermod",
        "p": "/usermod",
        "d": "用于修改用户的基本信息"
    },
    {
        "n": "usernetctl",
        "p": "/usernetctl",
        "d": "被允许时操作指定的网络接口"
    },
    {
        "n": "users",
        "p": "/users",
        "d": "打印当前主机所有登陆用户的名称。"
    },
    {
        "n": "uucico",
        "p": "/uucico",
        "d": "UUCP文件传输服务程序"
    },
    {
        "n": "uupick",
        "p": "/uupick",
        "d": "命令处理传送进来的文件"
    },
    {
        "n": "uuto",
        "p": "/uuto",
        "d": "将文件传送到远端的UUCP主机"
    },
    {
        "n": "vdfuse",
        "p": "/vdfuse",
        "d": "VirtualBox软件挂载VDI分区文件工具"
    },
    {
        "n": "vgchange",
        "p": "/vgchange",
        "d": "修改卷组属性"
    },
    {
        "n": "vgconvert",
        "p": "/vgconvert",
        "d": "转换卷组元数据格式"
    },
    {
        "n": "vgcreate",
        "p": "/vgcreate",
        "d": "用于创建LVM卷组"
    },
    {
        "n": "vgdisplay",
        "p": "/vgdisplay",
        "d": "显示LVM卷组的信息"
    },
    {
        "n": "vgextend",
        "p": "/vgextend",
        "d": "向卷组中添加物理卷"
    },
    {
        "n": "vgreduce",
        "p": "/vgreduce",
        "d": "从卷组中删除物理卷"
    },
    {
        "n": "vgremove",
        "p": "/vgremove",
        "d": "用于用户删除LVM卷组"
    },
    {
        "n": "vgrename",
        "p": "/vgrename",
        "d": "使用vgrename命令可以重命名卷组的名称"
    },
    {
        "n": "vgscan",
        "p": "/vgscan",
        "d": "扫描并显示系统中的卷组"
    },
    {
        "n": "vi",
        "p": "/vi",
        "d": "功能强大的纯文本编辑器"
    },
    {
        "n": "vmstat",
        "p": "/vmstat",
        "d": "显示虚拟内存状态"
    },
    {
        "n": "volname",
        "p": "/volname",
        "d": "显示指定的ISO-9660格式的设备的卷名称"
    },
    {
        "n": "w",
        "p": "/w",
        "d": "显示目前登入系统的用户信息"
    },
    {
        "n": "wait",
        "p": "/wait",
        "d": "等待进程执行完后返回"
    },
    {
        "n": "wall",
        "p": "/wall",
        "d": "向系统当前所有打开的终端上输出信息"
    },
    {
        "n": "watch",
        "p": "/watch",
        "d": "可以将命令的输出结果输出到标准输出设备，多用于周期性执行命令/定时执行命令"
    },
    {
        "n": "wc",
        "p": "/wc",
        "d": "统计文件的字节数、字数、行数"
    },
    {
        "n": "wget",
        "p": "/wget",
        "d": "Linux系统下载文件工具"
    },
    {
        "n": "whatis",
        "p": "/whatis",
        "d": "查询一个命令执行什么功能"
    },
    {
        "n": "whereis",
        "p": "/whereis",
        "d": "查找二进制程序、代码等相关文件路径"
    },
    {
        "n": "which",
        "p": "/which",
        "d": "查找并显示给定命令的绝对路径"
    },
    {
        "n": "who",
        "p": "/who",
        "d": "显示当前所有登陆用户的信息。"
    },
    {
        "n": "whoami",
        "p": "/whoami",
        "d": "打印当前有效的用户ID对应的名称"
    },
    {
        "n": "write",
        "p": "/write",
        "d": "向指定登录用户终端上发送信息"
    },
    {
        "n": "xargs",
        "p": "/xargs",
        "d": "给其他命令传递参数的一个过滤器"
    },
    {
        "n": "xauth",
        "p": "/xauth",
        "d": "显示和编辑被用于连接X服务器的认证信息"
    },
    {
        "n": "xclip",
        "p": "/xclip",
        "d": "管理 X 粘贴板"
    },
    {
        "n": "xhost",
        "p": "/xhost",
        "d": "制哪些X客户端能够在X服务器上显示"
    },
    {
        "n": "xinit",
        "p": "/xinit",
        "d": "是Linux下X-Window系统的初始化程序"
    },
    {
        "n": "xlsatoms",
        "p": "/xlsatoms",
        "d": "列出X服务器内部所有定义的原子成分"
    },
    {
        "n": "xlsclients",
        "p": "/xlsclients",
        "d": "列出显示器中的客户端应用程序"
    },
    {
        "n": "xlsfonts",
        "p": "/xlsfonts",
        "d": "列出X Server使用的字体"
    },
    {
        "n": "xrandr",
        "p": "/xrandr",
        "d": "X 窗口系统配置管理工具"
    },
    {
        "n": "xset",
        "p": "/xset",
        "d": "设置X-Window系统中的用户爱好的实用工具"
    },
    {
        "n": "xz",
        "p": "/xz",
        "d": "POSIX 平台开发具有高压缩率的工具"
    },
    {
        "n": "yes",
        "p": "/yes",
        "d": "重复打印指定字符串"
    },
    {
        "n": "ypdomainname",
        "p": "/ypdomainname",
        "d": "显示主机的NIS的域名"
    },
    {
        "n": "yum",
        "p": "/yum",
        "d": "基于RPM的软件包管理器"
    },
    {
        "n": "zcat",
        "p": "/zcat",
        "d": "显示压缩包中文件的内容"
    },
    {
        "n": "zfore",
        "p": "/zfore",
        "d": "强制为gzip格式的压缩文件添加.gz后缀"
    },
    {
        "n": "zip",
        "p": "/zip",
        "d": "可以用来解压缩文件"
    },
    {
        "n": "zipinfo",
        "p": "/zipinfo",
        "d": "用来列出压缩文件信息"
    },
    {
        "n": "zipsplit",
        "p": "/zipsplit",
        "d": "将较大的zip压缩包分割成各个较小的压缩包"
    },
    {
        "n": "znew",
        "p": "/znew",
        "d": "将.Z压缩包重新转化为gzip命令压缩的.gz压缩包"
    }
];

export interface CommandModalProps {
    onCancel: () => void;
}

function CommandModal(props: CommandModalProps) {
    const [keyword, setKeyword] = useState("");
    return (
        <Modal open title="命令大全" bodyStyle={{ maxHeight: "calc(100vh - 300px)" }} footer={null}
            onCancel={e => {
                e.stopPropagation();
                e.preventDefault();
                props.onCancel();
            }}>
            <Input value={keyword} onChange={e => {
                e.stopPropagation();
                e.preventDefault();
                setKeyword(e.target.value);
            }} />
            {keyword != "" && (
                <>
                    <h2>搜索结果</h2>
                    <List rowKey="d" style={{ height: "calc(100vh - 370px)", overflowY: "auto" }}
                        dataSource={cmdList.filter(cmd => cmd.n.includes(keyword)).sort((a, b) => a.n.length - b.n.length)} renderItem={item => (
                            <List.Item key={item.d} extra={
                                <Button type="link" onClick={e => {
                                    e.stopPropagation();
                                    e.preventDefault();
                                    min_app_shell.openBrowser(`https://wangchujiang.com/linux-command/c/${item.n}.html`);
                                }}>查看</Button>
                            }>
                                <Space>
                                    <span style={{ display: "inline-block", width: "80px" }}>{item.n}</span>
                                    <span>{item.d}</span>
                                </Space>
                            </List.Item>
                        )} />
                </>
            )}
        </Modal>
    );
}

export default CommandModal;